package com.better517na.stateprocess.annotion;

import com.better517na.stateprocess.model.common.OrderEventEnum;
import com.better517na.stateprocess.model.common.OrderSceneEnum;
import com.better517na.stateprocess.model.common.OrderStatusEnum;
import com.better517na.stateprocess.model.common.OrderTypeEnum;
import org.springframework.stereotype.Component;

import java.lang.annotation.*;

@Target(ElementType.TYPE)
@Retention(RetentionPolicy.RUNTIME)
@Documented
@Inherited
@Component
public @interface OrderProcessor {

    /**
     * 订单状态
     */
    OrderStatusEnum[] state();

    /**
     * 订单类型
     */
    OrderTypeEnum[] orderType();

    /**
     * 用车场景（企业用车、个人用车）
     */
    OrderSceneEnum[] orderScene();

    /**
     * 状态变更事件
     */
    OrderEventEnum[] event();
}
